<%@page import="java.util.List"%>
<%@page import="pl.peterjack.model.Stale"%>
<%@page import="pl.peterjack.model.dane.Klient"%>
<%@page import="pl.peterjack.model.dane.PracownikUprawnienia"%>
<%@page import="pl.peterjack.model.dane.Pracownik"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<div id="pracownicyPanel" dojoType="dijit.layout.ContentPane" region="center" class="zawartoscPanela"  >
                	<div  dojoType="dijit.layout.ContentPane" region="top">
                		<button class="przyciskiLewo" dojoType="dijit.form.Button" type="button">
	                		Uprawnienia
	                		<script type="dojo/connect" data-dojo-event="onClick">
    							dijit.byId("uprawnieniaDiv").show();
  							</script>
  						</button>
  					
	                	<button class="przyciskiLewo" id="dodajPracownicyButtonNode" dojoType="dijit.form.Button" type="button">
	                		Dodaj
	                		<script type="dojo/connect" data-dojo-event="onClick">
    							if (<%= ((List)request.getAttribute(Stale.ATRYBUT_UPRAWNIENIA_LISTA)).size()>0 %>) {
									dijit.byId("dodawaniePracownika").show();
								} else {
									var thisdialog = new dijit.Dialog({ title: "Brak uprawnień", content: "Aby dodać pracownika najpierw musisz stworzyć dla niego uprawnienia w systemie. Jeżeli uprawnienie jest już stworzone, odśwież stronę. " });
									dojo.body().appendChild(thisdialog.domNode);
									thisdialog.startup();
									thisdialog.show();
								}
  							</script>
  						</button>
	                	
	                	<button class="przyciskiPrawo" id="resetPracownicyButtonNode" dojoType="dijit.form.Button" type="button">
	                		Reset
	                		<script type="dojo/method" event="onClick" args="evt">
            					pracownicyDataGrid.store.close();
								pracownicyDataGrid.store.url = "/dane/pracownik/lista";
								pracownicyDataGrid._refresh();
								pracownicyDataGrid.filter({nazwa: '*'});
            				</script>
	                	</button>
	                	
	                	<button class="przyciskiPrawo" id="usunPracownicyButtonNode" dojoType="dijit.form.Button" type="button" region="trailing">
                			Usuń
                			<script type="dojo/method" event="onClick" args="evt">
            					var items = pracownicyDataGrid.selection.getSelected();
            					if (items.length) {
                					dojo.forEach(items, function(selectedItem) {
                    					if (selectedItem !== null) {
                        					if(selectedItem) {
												var xhrArgs = {
                									url: "/dane/pracownik/usuwanie",
                									postData: "id="+selectedItem.id,
                									handleAs: "text",
                									load: function(data) {
                    									pracownicyDataGrid.store.close();
														pracownicyDataGrid.store.url = "/dane/pracownik/lista";
														pracownicyDataGrid._refresh(); 
                									},
                									error: function(error) {
                    									console.log(error);
                									}
            									};
            									var deferred = dojo.xhrPost(xhrArgs);
											} 
                    					} // end if
                					}); // end forEach
            					} // end if
            				</script>
                		</button>
                		
                		<button class="przyciskiPrawo" id="edytujPracownicyButtonNode" dojoType="dijit.form.Button" type="button" region="trailing">
                			Edytuj
                			<script type="dojo/method" event="onClick" args="evt">
            					var items = pracownicyDataGrid.selection.getSelected();
            					if (items.length) {
                					dojo.forEach(items, function(selectedItem) {
                    					if (selectedItem !== null) {
                        					if(selectedItem) {
												// ustawiamy pola formularza 
												dojo.byId('edycjaId').value = selectedItem.id;
												dijit.byId('edycjaImieNazwisko').set('value',selectedItem.imieNazwisko); 
												dijit.byId('edycjaLogin').set('value',selectedItem.login);  
												dijit.byId('edycjaHaslo').set('value', '');
												dijit.byId('edycjaEmail').set('value',selectedItem.email); 
												dijit.byId('edycjaUprawnienia').set('value',selectedItem.pracownikUprawnienia);
												// wyswietlamy formularz
												dijit.byId("edycjaPracownika").show();
											} 
                    					} // end if
                					}); // end forEach
            					} // end if
            				</script>
                		</button>
	                	
	                	
	                	<input type="text" name="wyszukaj" value="" dojoType="dijit.form.TextBox" 
	                			trim="true" id="wyszukajPracownicyTextBox" style="width:60%;" 
	                			onchange="pracownicyDataGrid.filter({nazwa: '*' + dijit.byId('wyszukajPracownicyTextBox').value + '*'});" />			
	                			
	                			
                	</div>
                	
                	<div id="pracownicyPanelTabeli" dojoType="dijit.layout.ContentPane" region="center" style="width: 99%; height: 320px;">
                	
              	
                	
<span dojoType="dojo.data.ItemFileReadStore" jsId="storePracownicy"
	url="/dane/pracownik/lista"  urlPreventCache="true" clearOnClose="true">
</span>
<table dojoType="dojox.grid.DataGrid" jsId="pracownicyDataGrid" store="storePracownicy" query="{ id: '*' }" 
	clientSort="true" >
    <thead>
        <tr>
        	<th width="10px">
        	
        	</th>
            <th width="30px" field="id">
                id
            </th>
            <th width="100%" field="imieNazwisko">
                nazwa
            </th>
            <th width="100px">
            	login
            </th>
        </tr>
    </thead>
</table>     	
                	
                	</div>
                	
                	
                </div>
                
                
                
                
                
                
        <div id="uprawnieniaDiv" dojoType="dijit.Dialog" title="Uprawnienia">
        	<div style="width: 200px; float: left; height: 500px; ">
        	
        		<input type="text" name="dodajUprawnienieTextBox" value="" dojoType="dijit.form.TextBox" 
	                			trim="true" id="dodajUprawnienieTextBox" propercase="true" width="100%" />
        	
        	
        		<button class="przyciskiPrawo" id="pracownicyDodajButtonNode" dojoType="dijit.form.Button" type="button">
        			Dodaj
                			<script type="dojo/method" event="onClick" args="evt">
            					var xhrArgs = {
                					url: "/dane/pracownicy/uprawnieniedodaj",
                					postData: "nazwa="+dijit.byId('dodajUprawnienieTextBox').value,
                					handleAs: "text",
                					load: function(data) {
                    					pracownicyUprawnieniaDataGrid.store.close();
										pracownicyUprawnieniaDataGrid.store.url = "/dane/pracownicy/uprawnienia";
										pracownicyUprawnieniaDataGrid._refresh(); // or grid.store.fetch();
                					},
                					error: function(error) {
                    					console.log(error);
                					}
            					};
            					var deferred = dojo.xhrPost(xhrArgs);
            				</script>
        		</button>
	        	
	                			
				        	
				<span dojoType="dojo.data.ItemFileReadStore" jsId="storeUprawnienia"
					url="/dane/pracownicy/uprawnienia"  urlPreventCache="true" clearOnClose="true">
				</span>
				<table dojoType="dojox.grid.DataGrid" jsId="pracownicyUprawnieniaDataGrid" store="storeUprawnienia" query="{ id: '*' }" 
					clientSort="true" >
				    <thead>
				        <tr>
				        	<th width="10px">
				        	
				        	</th>
				            <th width="30px" field="id">
				                id
				            </th>
				            <th width="100%">
				                nazwa
				            </th>
				        </tr>
				    </thead>
				    <script type="dojo/method" event="onRowClick" args="evt">
								var uprawnienie = pracownicyUprawnieniaDataGrid.getItem(evt.rowIndex);
            					console.log(uprawnienie);
								dojo.byId('uprawnienieId').value = uprawnienie.id;

								if(uprawnienie.wystawienieFaktur[0]) {
									dijit.byId('wystawianie_faktur').set('checked',true);
								} else {
									dijit.byId('wystawianie_faktur').set('checked',false);
								} 
								if(uprawnienie.zarzadzanieKlientami[0]) {
									dijit.byId('zarzadzanie_klientami').set('checked',true);
								} else {
									dijit.byId('zarzadzanie_klientami').set('checked',false);
								}
								if(uprawnienie.zarzadzanieProduktami[0]) {
									dijit.byId('zarzadzanie_produktami').set('checked',true);
								} else {
									dijit.byId('zarzadzanie_produktami').set('checked',false);
								}
								if(uprawnienie.zarzadzanieFakturami[0]) {
									dijit.byId('zarzadzanie_fakturami').set('checked',true);
								} else {
									dijit.byId('zarzadzanie_fakturami').set('checked',false);
								}
								if(uprawnienie.dodawanieKlientow[0]) {
									dijit.byId('dodawanie_klientow').set('checked',true);
								} else {
									dijit.byId('dodawanie_klientow').set('checked',false);
								}
								if(uprawnienie.dodawanieProduktow[0]) {
									dijit.byId('dodawanie_produktow').set('checked',true);
								} else {
									dijit.byId('dodawanie_produktow').set('checked',false);
								}
								if(uprawnienie.importDanych[0]) {
									dijit.byId('import_danych').set('checked',true);
								} else {
									dijit.byId('import_danych').set('checked',false);
								}
								pracownicyUprawnieniaDataGrid.store.close();
								pracownicyUprawnieniaDataGrid.store.url = "/dane/pracownicy/uprawnienia";
								pracownicyUprawnieniaDataGrid._refresh(); // or
								uprawnienieSelect.store.close();
								uprawnienieSelect.store.url = "/dane/pracownicy/uprawnienia";
								uprawnienieSelect._refresh(); // or
            		</script>
				</table>
        		
        	
        	
	                			        	
	                	
        	</div>
        	<div style="width: 200px; float: left; height: 500px; ">
			<form action="/dane/pracownicy/uprawnienieustaw" id="uprawnienieForm">
			<input type="hidden" name="id" id="uprawnienieId" value="" />
				<fieldset>
					<div class="czesc_form">
						<label>Wystawianie faktur: </label>
						 <input type="checkbox" dojotype="dijit.form.CheckBox" name="wystawianie_faktur" id="wystawianie_faktur" />
					</div>
					<div class="czesc_form">
						<label>Zarządzanie klientami: </label>
						 <input type="checkbox" dojotype="dijit.form.CheckBox" name="zarzadzanie_klientami" id="zarzadzanie_klientami" />
					</div>
					<div class="czesc_form">
						<label>Zarządzanie produktami: </label>
						 <input type="checkbox" dojotype="dijit.form.CheckBox" name="zarzadzanie_produktami" id="zarzadzanie_produktami" />
					</div>
					<div class="czesc_form">
						<label>Zarządzanie fakturami: </label>
						 <input type="checkbox" dojotype="dijit.form.CheckBox" name="zarzadzanie_fakturami" id="zarzadzanie_fakturami" />
					</div>
					<div class="czesc_form">
						<label>Dodawanie klientów: </label>
						 <input type="checkbox" dojotype="dijit.form.CheckBox" name="dodawanie_klientow" id="dodawanie_klientow" />
					</div>
					<div class="czesc_form">
						<label>Dodawanie produktów: </label>
						 <input type="checkbox" dojotype="dijit.form.CheckBox" name="dodawanie_produktow" id="dodawanie_produktow" />
					</div>
					<div class="czesc_form">
						<label>Import danych: </label>
						 <input type="checkbox" dojotype="dijit.form.CheckBox" name="import_danych" id="import_danych" />
					</div>
					<div class="submit">
						<button type="submit" dojoType="dijit.form.Button" >
		                    Zapisz zmiany
		                </button>
						<span id="komunikaty_uprawnienie_ustawione"> </span>
					</div>
				</fieldset>
			</form>
			</div>
		</div>
                        
                
                
                
                
                
		<div id="dodawaniePracownika" dojoType="dijit.Dialog">
			<form action="/dane/pracownik/dodawnie" id="dodawaniePracownikaForm">
				<fieldset>
					<legend> <h2>Dodawanie nowego pracownika!</h2> </legend>
					<div class="czesc_form">
						<label>Imię i nazwisko: </label>
						 <input class="text" type="text"
							name="imie_nazwisko" value=""
							dojoType="dijit.form.ValidationTextBox"
							promptMessage="Prosimy o wypełnienie pola"
							invalidMessage="Prosimy o wypełnienie pola"
							trim="true" />
					</div>
					<div class="czesc_form">
						<label>Login: </label>
						 <input class="text" type="text"
							name="login" value=""
							dojoType="dijit.form.ValidationTextBox"
							promptMessage="Prosimy o wypełnienie pola"
							invalidMessage="Prosimy o wypełnienie pola"
							trim="true" />
					</div>
					<div class="czesc_form">
						<label>Hasło: </label>
						 <input class="password" type="password"
							name="haslo" value=""
							dojoType="dijit.form.ValidationTextBox" required="true"
							promptMessage="Prosimy o wypełnienie pola"
							invalidMessage="Prosimy o wypełnienie pola" />
					</div>
					<div class="czesc_form">
						<label>E-mail: </label>
						 <input class="text" type="text"
							name="email" value=""
							dojoType="dijit.form.ValidationTextBox"
							promptMessage="Prosimy o wypełnienie pola"
							invalidMessage="Prosimy o wypełnienie pola"
							trim="true" />
					</div>
					<div class="czesc_form">
						<label>Uprawnienie: </label>
						 <%-- <input dojoType="dijit.form.FilteringSelect" value="" jsId="uprawnienieSelect" 
						 			name="uprawnienie"
							  		store="storeUprawnienia"  searchAttr="nazwa" id="uprawnienie">--%>
						
						<%-- <input dojoType="dijit.form.ComboBox" value="" store="storeUprawnienia"
									searchAttr="nazwa" name="uprawnienia" id="uprawnienia">--%>
									
						<select dojoType="dijit.form.FilteringSelect"  name="uprawnienia" id="uprawnienia" required="true"
							promptMessage="Prosimy o wypełnienie pola"
							invalidMessage="Prosimy o wypełnienie pola" >
							  	<% for(PracownikUprawnienia u:(List<PracownikUprawnienia>)request.getAttribute(Stale.ATRYBUT_UPRAWNIENIA_LISTA)) { %>
									<option value="<%= u.getId() %>"><%= u.getNazwa() %></option>
						  		<% } %>
						</select>					  		
							  		
					</div>
					<div class="submit">
						<button type="submit" dojoType="dijit.form.Button" >
		                    Dodaj pracownika
		                </button>
						<span id="komunikaty_dodawanie_pracownika"> </span>
					</div>
				</fieldset>
			</form>
		</div>
                
		<div id="edycjaPracownika" dojoType="dijit.Dialog">
			<form action="/dane/pracownik/edycja" id="edycjaPracownikaForm">
				<input type="hidden" name="id" id="edycjaId" value="0" />
				<fieldset>
					<legend> <h2>Edytuj pracownika!</h2> </legend>
					<div class="czesc_form">
						<label>Imię i nazwisko: </label>
						 <input class="text" type="text" id="edycjaImieNazwisko"
							name="imie_nazwisko" value=""
							dojoType="dijit.form.ValidationTextBox"
							promptMessage="Prosimy o wypełnienie pola"
							invalidMessage="Prosimy o wypełnienie pola"
							trim="true" />
					</div>
					<div class="czesc_form">
						<label>Login: </label>
						 <input class="text" type="text"
							name="login" value="" id="edycjaLogin"
							dojoType="dijit.form.ValidationTextBox"
							promptMessage="Prosimy o wypełnienie pola"
							invalidMessage="Prosimy o wypełnienie pola"
							trim="true" />
					</div>
					<div class="czesc_form">
						<label>Hasło: </label>
						 <input class="password" type="password"
							name="haslo" value="" id="edycjaHaslo"
							dojoType="dijit.form.ValidationTextBox" required="true"
							promptMessage="Prosimy o wypełnienie pola"
							invalidMessage="Prosimy o wypełnienie pola" />
					</div>
					<div class="czesc_form">
						<label>E-mail: </label>
						 <input class="text" type="text"
							name="email" value="" id="edycjaEmail"
							dojoType="dijit.form.ValidationTextBox"
							promptMessage="Prosimy o wypełnienie pola"
							invalidMessage="Prosimy o wypełnienie pola"
							trim="true" />
					</div>
					<div class="czesc_form">
						<label>Uprawnienie: </label>
						 <%-- <input dojoType="dijit.form.FilteringSelect" value="" jsId="uprawnienieSelect" 
						 			name="uprawnienie"
							  		store="storeUprawnienia"  searchAttr="nazwa" id="uprawnienie">--%>
						
						<%-- <input dojoType="dijit.form.ComboBox" value="" store="storeUprawnienia"
									searchAttr="nazwa" name="uprawnienia" id="uprawnienia">--%>
									
						<select dojoType="dijit.form.FilteringSelect"  name="uprawnienia" id="edycjaUprawnienia" required="true"
							promptMessage="Prosimy o wypełnienie pola"
							invalidMessage="Prosimy o wypełnienie pola" >
							  	<% for(PracownikUprawnienia u:(List<PracownikUprawnienia>)request.getAttribute(Stale.ATRYBUT_UPRAWNIENIA_LISTA)) { %>
									<option value="<%= u.getId() %>"><%= u.getNazwa() %></option>
						  		<% } %>
						</select>					  		
							  		
					</div>
					<div class="submit">
						<button type="submit" dojoType="dijit.form.Button" >
		                    Edytuj pracownika
		                </button>
						<span id="komunikaty_edycja_pracownika"> </span>
					</div>
				</fieldset>
			</form>
		</div>
                
                